package top.callback.inf.beautyleaf.server.dao;

import org.apache.ibatis.annotations.Mapper;
import top.callback.inf.beautyleaf.server.common.page.Paging;
import top.callback.inf.beautyleaf.server.entity.LeafTagDO;

import java.util.List;

/**
 * 标签数据操作接口
 *
 * @author Pengyu Gan
 * CreateDate 2021/4/8
 */
@Mapper
public interface LeafTagDao {

    /**
     * 新增标签
     * @param tag {@link LeafTagDO} 标签信息
     * @return 影响行数
     */
    int addTag(LeafTagDO tag);

    /**
     * 编辑标签
     * @param tag {@link LeafTagDO} 标签信息
     * @return 影响行数
     */
    int editTag(LeafTagDO tag);

    /**
     * 删除标签
     * @param tagId 标签 ID
     * @return 影响行数
     */
    int removeTag(long tagId);

    /**
     * 查询指定 ID 的标签信息
     * @param tagId 标签 ID
     * @return {@link LeafTagDO} 标签信息
     */
    LeafTagDO findById(long tagId);

    /**
     * 查询所有的标签信息
     * @param paging 分页信息
     * @return {@link LeafTagDO} 标签信息列表
     */
    List<LeafTagDO> findAll(Paging paging);

}
